home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / fuse / fuse_compat.h < prev    next >
C/C++ Source or Header  |  2006-05-11  |  9KB  |  200 lines

  1. /*
  2.     FUSE: Filesystem in Userspace
  3.     Copyright (C) 2001-2006  Miklos Szeredi <miklos@szeredi.hu>
  4.  
  5.     This program can be distributed under the terms of the GNU LGPL.
  6.     See the file COPYING.LIB.
  7. */
  8.  
  9. /* these definitions provide source compatibility to prior versions.
  10.    Do not include this file directly! */
  11.  
  12. struct fuse_operations_compat25 {
  13.     int (*getattr) (const char *, struct stat *);
  14.     int (*readlink) (const char *, char *, size_t);
  15.     int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t);
  16.     int (*mknod) (const char *, mode_t, dev_t);
  17.     int (*mkdir) (const char *, mode_t);
  18.     int (*unlink) (const char *);
  19.     int (*rmdir) (const char *);
  20.     int (*symlink) (const char *, const char *);
  21.     int (*rename) (const char *, const char *);
  22.     int (*link) (const char *, const char *);
  23.     int (*chmod) (const char *, mode_t);
  24.     int (*chown) (const char *, uid_t, gid_t);
  25.     int (*truncate) (const char *, off_t);
  26.     int (*utime) (const char *, struct utimbuf *);
  27.     int (*open) (const char *, struct fuse_file_info *);
  28.     int (*read) (const char *, char *, size_t, off_t, struct fuse_file_info *);
  29.     int (*write) (const char *, const char *, size_t, off_t,
  30.                   struct fuse_file_info *);
  31.     int (*statfs) (const char *, struct statvfs *);
  32.     int (*flush) (const char *, struct fuse_file_info *);
  33.     int (*release) (const char *, struct fuse_file_info *);
  34.     int (*fsync) (const char *, int, struct fuse_file_info *);
  35.     int (*setxattr) (const char *, const char *, const char *, size_t, int);
  36.     int (*getxattr) (const char *, const char *, char *, size_t);
  37.     int (*listxattr) (const char *, char *, size_t);
  38.     int (*removexattr) (const char *, const char *);
  39.     int (*opendir) (const char *, struct fuse_file_info *);
  40.     int (*readdir) (const char *, void *, fuse_fill_dir_t, off_t,
  41.                     struct fuse_file_info *);
  42.     int (*releasedir) (const char *, struct fuse_file_info *);
  43.     int (*fsyncdir) (const char *, int, struct fuse_file_info *);
  44.     void *(*init) (void);
  45.     void (*destroy) (void *);
  46.     int (*access) (const char *, int);
  47.     int (*create) (const char *, mode_t, struct fuse_file_info *);
  48.     int (*ftruncate) (const char *, off_t, struct fuse_file_info *);
  49.     int (*fgetattr) (const char *, struct stat *, struct fuse_file_info *);
  50. };
  51.  
  52. struct fuse *fuse_new_compat25(int fd, struct fuse_args *args,
  53.                                const struct fuse_operations_compat25 *op,
  54.                                size_t op_size);
  55.  
  56. int fuse_main_real_compat25(int argc, char *argv[],
  57.                             const struct fuse_operations_compat25 *op,
  58.                             size_t op_size);
  59.  
  60. struct fuse *fuse_setup_compat25(int argc, char *argv[],
  61.                                  const struct fuse_operations_compat25 *op,
  62.                                  size_t op_size, char **mountpoint,
  63.                                  int *multithreaded, int *fd);
  64.  
  65. #ifndef __FreeBSD__
  66. #include <sys/statfs.h>
  67.  
  68. struct fuse_file_info_compat22 {
  69.     int flags;
  70.     unsigned long fh;
  71.     int writepage;
  72.     unsigned int direct_io : 1;
  73.     unsigned int keep_cache : 1;
  74. };
  75.  
  76. struct fuse_operations_compat22 {
  77.     int (*getattr) (const char *, struct stat *);
  78.     int (*readlink) (const char *, char *, size_t);
  79.     int (*getdir) (const char *, fuse_dirh_t, fuse_dirfil_t);
  80.     int (*mknod) (const char *, mode_t, dev_t);
  81.     int (*mkdir) (const char *, mode_t);
  82.     int (*unlink) (const char *);
  83.     int (*rmdir) (const char *);
  84.     int (*symlink) (const char *, const char *);
  85.     int (*rename) (const char *, const char *);
  86.     int (*link) (const char *, const char *);
  87.     int (*chmod) (const char *, mode_t);
  88.     int (*chown) (const char *, uid_t, gid_t);
  89.     int (*truncate) (const char *, off_t);
  90.     int (*utime) (const char *, struct utimbuf *);
  91.     int (*open) (const char *, struct fuse_file_info_compat22 *);
  92.     int (*read) (const char *, char *, size_t, off_t,
  93.                  struct fuse_file_info_compat22 *);
  94.     int (*write) (const char *, const char *, size_t, off_t,
  95.                   struct fuse_file_info_compat22 *);
  96.     int (*statfs) (const char *, struct statfs *);
  97.     int (*flush) (const char *, struct fuse_file_info_compat22 *);
  98.     int (*release) (const char *, struct fuse_file_info_compat22 *);
  99.     int (*fsync) (const char *, int, struct fuse_file_info_compat22 *);
  100.     int (*setxattr) (const char *, const char *, const char *, size_t, int);
  101.     int (*getxattr) (const char *, const char *, char *, size_t);
  102.     int (*listxattr) (const char *, char *, size_t);
  103.     int (*removexattr) (const char *, const char *);
  104.     int (*opendir) (const char *, struct fuse_file_info_compat22 *);
  105.     int (*readdir) (const char *, void *, fuse_fill_dir_t, off_t,
  106.                     struct fuse_file_info_compat22 *);
  107.     int (*releasedir) (const char *, struct fuse_file_info_compat22 *);
  108.     int (*fsyncdir) (const char *, int, struct fuse_file_info_compat22 *);
  109.     void *(*init) (void);
  110.     void (*destroy) (void *);
  111. };
  112.  
  113. struct fuse *fuse_new_compat22(int fd, const char *opts,
  114.                                const struct fuse_operations_compat22 *op,
  115.                                size_t op_size);
  116.  
  117. struct fuse *fuse_setup_compat22(int argc, char *argv[],
  118.                                  const struct fuse_operations_compat22 *op,
  119.                                  size_t op_size, char **mountpoint,
  120.                                  int *multithreaded, int *fd);
  121.  
  122. int fuse_main_real_compat22(int argc, char *argv[],
  123.                             const struct fuse_operations_compat22 *op,
  124.                             size_t op_size);
  125.  
  126. typedef int (*fuse_dirfil_t_compat) (fuse_dirh_t h, const char *name, int type);
  127. struct fuse_operations_compat2 {
  128.     int (*getattr)     (const char *, struct stat *);
  129.     int (*readlink)    (const char *, char *, size_t);
  130.     int (*getdir)      (const char *, fuse_dirh_t, fuse_dirfil_t_compat);
  131.     int (*mknod)       (const char *, mode_t, dev_t);
  132.     int (*mkdir)       (const char *, mode_t);
  133.     int (*unlink)      (const char *);
  134.     int (*rmdir)       (const char *);
  135.     int (*symlink)     (const char *, const char *);
  136.     int (*rename)      (const char *, const char *);
  137.     int (*link)        (const char *, const char *);
  138.     int (*chmod)       (const char *, mode_t);
  139.     int (*chown)       (const char *, uid_t, gid_t);
  140.     int (*truncate)    (const char *, off_t);
  141.     int (*utime)       (const char *, struct utimbuf *);
  142.     int (*open)        (const char *, int);
  143.     int (*read)        (const char *, char *, size_t, off_t);
  144.     int (*write)       (const char *, const char *, size_t, off_t);
  145.     int (*statfs)      (const char *, struct statfs *);
  146.     int (*flush)       (const char *);
  147.     int (*release)     (const char *, int);
  148.     int (*fsync)       (const char *, int);
  149.     int (*setxattr)    (const char *, const char *, const char *, size_t, int);
  150.     int (*getxattr)    (const char *, const char *, char *, size_t);
  151.     int (*listxattr)   (const char *, char *, size_t);
  152.     int (*removexattr) (const char *, const char *);
  153. };
  154.  
  155. int fuse_main_compat2(int argc, char *argv[], const struct fuse_operations_compat2 *op);
  156.  
  157. struct fuse *fuse_new_compat2(int fd, const char *opts, const struct fuse_operations_compat2 *op);
  158.  
  159. struct fuse *fuse_setup_compat2(int argc, char *argv[], const struct fuse_operations_compat2 *op, char **mountpoint, int *multithreaded, int *fd);
  160.  
  161. struct fuse_statfs_compat1 {
  162.     long block_size;
  163.     long blocks;
  164.     long blocks_free;
  165.     long files;
  166.     long files_free;
  167.     long namelen;
  168. };
  169.  
  170. struct fuse_operations_compat1 {
  171.     int (*getattr)  (const char *, struct stat *);
  172.     int (*readlink) (const char *, char *, size_t);
  173.     int (*getdir)   (const char *, fuse_dirh_t, fuse_dirfil_t_compat);
  174.     int (*mknod)    (const char *, mode_t, dev_t);
  175.     int (*mkdir)    (const char *, mode_t);
  176.     int (*unlink)   (const char *);
  177.     int (*rmdir)    (const char *);
  178.     int (*symlink)  (const char *, const char *);
  179.     int (*rename)   (const char *, const char *);
  180.     int (*link)     (const char *, const char *);
  181.     int (*chmod)    (const char *, mode_t);
  182.     int (*chown)    (const char *, uid_t, gid_t);
  183.     int (*truncate) (const char *, off_t);
  184.     int (*utime)    (const char *, struct utimbuf *);
  185.     int (*open)     (const char *, int);
  186.     int (*read)     (const char *, char *, size_t, off_t);
  187.     int (*write)    (const char *, const char *, size_t, off_t);
  188.     int (*statfs)   (struct fuse_statfs_compat1 *);
  189.     int (*release)  (const char *, int);
  190.     int (*fsync)    (const char *, int);
  191. };
  192.  
  193. #define FUSE_DEBUG_COMPAT1       (1 << 1)
  194.  
  195. struct fuse *fuse_new_compat1(int fd, int flags, const struct fuse_operations_compat1 *op);
  196.  
  197. void fuse_main_compat1(int argc, char *argv[], const struct fuse_operations_compat1 *op);
  198.  
  199. #endif /* __FreeBSD__ */
  200.